/**
 * 
 */
package panda.planner;

import panda.query.tree.QueryTreeNode;
import panda.syntax.SelectStm;
import panda.transaction.Transaction;

/**
 * An interface of a plan executing an insert, delete or
 * update statement
 * @author Tian Yuan
 *
 */
public interface QueryPlanner {
	
	/**
	 * Translate an syntax tree into a query tree
	 * @param stm The syntax tree as input
	 * @return The query tree
	 */
	public QueryTreeNode createQueryTree(SelectStm stm, Transaction tx);	
}
